Skip to content

Report in the All Messages view incomplete scatter-gather results and server query timeouts - #3107

Merged
ramonsmits merged 1 commit into
ramon/audit-new-row-animationfrom
ramon/audit-incomplete-results
Sep 10, 2026
Merged

Report in the All Messages view incomplete scatter-gather results and server query timeouts#3107
ramonsmits merged 1 commit into
ramon/audit-new-row-animationfrom
ramon/audit-incomplete-results

Conversation

@ramonsmits

@ramonsmits ramonsmits commented Sep 4, 2026

Copy link
Copy Markdown
Member

Top of the audit query series, stacked on:

ServiceControl (Particular/ServiceControl#5848) now tells clients when a composite result is incomplete: a partial answer stays HTTP 200 with the data that did arrive plus a X-Particular-Incomplete-Results header naming every instance that contributed nothing (instanceId:timeout|unavailable|error), and a query nobody answered becomes a 504. This PR makes All Messages read both:

  • A partial page keeps its data and shows a warning naming each missing instance and why: Partial results. No data from audit-2.internal:44444 (timed out), audit-3.internal:44444 (unreachable). The header carries ServiceControl's instance id, which is the base64-encoded API URL; the warning decodes it to host and port and keeps the full URL as a tooltip
  • The warning also says what to do: the rows shown come from the instances that did answer, try again in a moment, or check the listed instances on Platform Health (linked); when one timed out it adds that a narrower time range makes the query lighter for a slow instance
  • The results line presents the total as a floor while results are partial: Showing 3 of at least 87,421,337 result(s)
  • A 504 gets a precise "exceeded the ServiceControl query time limit" message (with the existing one-click narrower-range escape hatches) instead of the generic failure text
Partial results warning in All Messages

The header parser is shared (incompleteResults.ts) so the conversation and saga views can adopt it next.

@ramonsmits ramonsmits added this to the 2.11.0 milestone Sep 4, 2026
@jpalac jpalac modified the milestones: 2.11.0, 2.12.0 Sep 6, 2026
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from a256771 to 2e8998c Compare September 7, 2026 10:13
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 2e8998c to 5f9b0df Compare September 7, 2026 10:31
@ramonsmits
ramonsmits changed the base branch from ramon/audit-super-date-picker to ramon/audit-timestamps September 7, 2026 10:32
@ramonsmits ramonsmits added the Improvement Improvement label Sep 7, 2026
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 5f9b0df to e3e7821 Compare September 7, 2026 12:06
@ramonsmits
ramonsmits changed the base branch from ramon/audit-timestamps to ramon/audit-new-row-animation September 7, 2026 12:08
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from e3e7821 to 9b96ec7 Compare September 7, 2026 12:40
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 14dce2d to 4cce93d Compare September 7, 2026 15:46
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 4cce93d to 5fad82b Compare September 9, 2026 06:24
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 5fad82b to 8b8d07c Compare September 9, 2026 06:38
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 8b8d07c to 5913f69 Compare September 9, 2026 06:47
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch 2 times, most recently from 12a7837 to 37b3e35 Compare September 9, 2026 06:57
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 71440c5 to 2a9c6b2 Compare September 9, 2026 07:23
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 2a9c6b2 to f06e120 Compare September 9, 2026 07:28
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from f06e120 to 8472b45 Compare September 9, 2026 07:43
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch 2 times, most recently from 9deabe6 to 33fac1a Compare September 9, 2026 08:35
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 33fac1a to 14d4134 Compare September 9, 2026 09:25
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch 2 times, most recently from 27899a2 to 6ed9a57 Compare September 9, 2026 12:05
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 6ed9a57 to 04ad24e Compare September 9, 2026 12:20
@mauroservienti
mauroservienti force-pushed the ramon/audit-incomplete-results branch from 04ad24e to 338e9cb Compare September 9, 2026 13:01
Comment thread src/Frontend/src/components/audit/AuditList.vue
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch 2 times, most recently from 25215b6 to 5753c86 Compare September 10, 2026 08:58
ServiceControl (Particular/ServiceControl#5848) now tells clients when
a composite result is incomplete: a partial answer stays HTTP 200 with
the data that did arrive plus an X-Particular-Incomplete-Results header
naming every instance that contributed nothing (instanceId:timeout|
unavailable|error), and a query nobody answered becomes a 504. All
Messages reads both.

A partial page keeps its data and shows a warning naming each missing
instance and why. The instance id is ServiceControl's base64 API URL,
decoded and shown as host and port with the URL as tooltip; the
warning says what to do: the rows shown come from the instances that
did answer, try again in a moment, or check the listed instances on
Platform Health (linked), and when one timed out, that a narrower time
range makes the query lighter. The results line presents the total as
a floor while results are partial ("of at least 87,421,337"). A 504
gets a precise "exceeded the ServiceControl query time limit" message
with the existing one-click narrower-range escape hatches. The state
is forgotten with the results when the view is left.

The header parser is shared (incompleteResults.ts) so the conversation
and saga views can adopt it next.
@ramonsmits
ramonsmits force-pushed the ramon/audit-incomplete-results branch from 5753c86 to d940ea6 Compare September 10, 2026 09:56
@ramonsmits
ramonsmits merged commit e0e5e72 into master Sep 10, 2026
9 checks passed
@ramonsmits
ramonsmits deleted the ramon/audit-incomplete-results branch September 10, 2026 10:20
@ramonsmits ramonsmits changed the title Surface incomplete scatter-gather results and server query timeouts Report in the All Messages view incomplete scatter-gather results and server query timeouts Sep 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Improvement Improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants